<?php

# -- DÉBUT NOTE DE LICENCE -------------------------------------
#
# Ce fichier fait partie de Clicpage.
#
# Copyright (c) 2010 Francois (www.clicpage.net)
# Distribué selon les termes de la licence GPL version 2.0.
# Consultez le fichier LICENCE ou
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
#
# -- FIN NOTE DE LICENCE ---------------------------------------

class cpServiceAccueil
{
	
	public static function portlets()
	{
					
		# Vérifier la disponibilité d'une mise à jour
		$updater = new cpUpdate(CP_UPDATE_URL,'clicpage',CP_UPDATE_VERSION,CP_CHEMIN_CACHE.'/versions');
		$new_v = $updater->check(CP_VERSION);
		
		# Actualités Clicpage
		$feed_reader = new feedReader;
		$feed_reader->setCacheDir(CP_CHEMIN_CACHE);
		$feed_reader->setTimeout(2);
		$feed_reader->setUserAgent('Clicpage '.CP_VERSION.' - http://www.clicpage.net/');
		$feed = $feed_reader->parse(CP_ACTUALITES_URL.',atom.xml');
		
		$actualites = array();
		
		if($feed)
		{
			$i = 1;
			foreach($feed->items as $item) {
				$actualites[] = array(
					'lien'		=> $item->link,
					'titre'		=> $item->title,
					'date'		=> cpDt::belleDate(array('afficherHeure' => false), strtotime($item->pubdate), 'America/Montreal'),
					'contenu'	=> $i > 3 ? '' : text::cutString(html::clean($item->content), 120)
				);
				$i++;
			}
			
		}
		
		# Retourner les valeurs
		return array(
			'erreur'	=> 0,
			'new_v'		=> $new_v,
			'actualites'=> $actualites
		);
		
	}
	
	
	public static function updPortlets()
	{

		global $core;
		
		# Portlets de l'utilisateur
		$portlets_gauche = explode('|', $_POST['portlets_gauche']);
		$portlets_droite = explode('|', $_POST['portlets_droite']);
		array_pop($portlets_gauche);
		array_pop($portlets_droite);
		
		# Portlets par défaut
		$portlets_gauche_test = array();
		$portlets_droite_test = array();
		$portlets_test = array(&$portlets_gauche_test, &$portlets_droite_test);
		
		# --COMPORTEMENT-- adminPortlets
		$core->executerComportement('adminPortlets', $portlets_test);
		$portlets_test = array_merge(array_keys($portlets_test[0]), array_keys($portlets_test[1]));

		$diff_gauche = array_diff($portlets_gauche, $portlets_test);
		$diff_droite = array_diff($portlets_droite, $portlets_test);
		
		if(!empty($diff_gauche)) {
			throw new cpErreur(__('Donnée invalide'), 'portlets_gauche', 301);
		}
		if(!empty($diff_droite)) {
			throw new cpErreur(__('Donnée invalide'), 'portlets_droite', 301);
		}
		
		$test_double = array();
		$nb_gauche = count($portlets_gauche);
		for($i=0; $i<$nb_gauche; $i++) {
			if(in_array($portlets_gauche[$i], $test_double)) {
				unset($portlets_gauche[$i]);
			}
			$test_double[] = $portlets_gauche[$i];
			
		}
		$nb_droite = count($portlets_droite);
		for($i=0; $i<$nb_droite; $i++) {
			if(in_array($portlets_droite[$i], $test_double)) {
				unset($portlets_droite[$i]);
			}
			$test_double[] = $portlets_droite[$i];
			
		}
		
		$core->auth->utilisateur->preference('portlets_accueil', array($portlets_gauche, $portlets_droite));
		
	}
	
	
}

?>